Skip to content

feat: rename hawk binary, module, and config surface to graycode - #272

Merged
Patel230 merged 14 commits into
mainfrom
feat/rename-hawk-to-graycode
Sep 4, 2026
Merged

feat: rename hawk binary, module, and config surface to graycode#272
Patel230 merged 14 commits into
mainfrom
feat/rename-hawk-to-graycode

Conversation

@Patel230

@Patel230 Patel230 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Full hard-break rename of the product surface from hawk to graycode:

  • Binary hawkgraycode (Makefile, goreleaser, Dockerfile, install.sh, npm packages)
  • Module github.com/GrayCodeAI/hawkgithub.com/GrayCodeAI/graycode-cli (matches repo remote)
  • HAWK_*GRAYCODE_* env vars, ~/.hawk~/.graycode, cmd/hawkcmd/graycode, internal/hawkerrinternal/graycodeerr
  • No back-compat shims (hard break, per review)
  • Normalized compounds: GRAYCODE_CODE_*GRAYCODE_*, graycode-code service names→graycode, checkout-dir refs→graycode-cli (ecosystem.yaml, clone/cd docs, contracts-parity script)

Verification: go build ./..., go vet ./..., golangci-lint run ./... (0 issues), scripts/smoke-graycode.sh, contracts/ecosystem/peer/internal-layer/package/eyrie boundary guards — all green.

Binary hawk->graycode, module github.com/GrayCodeAI/hawk->github.com/GrayCodeAI/graycode-cli, HAWK_*->GRAYCODE_* env vars, ~/.hawk->~/.graycode, cmd/hawk->cmd/graycode, internal/hawkerr->internal/graycodeerr. Hard break, no back-compat shims. Normalize GRAYCODE_CODE_*/graycode-code compounds and graycode-cli checkout-dir references.
Self-declared deprecated entry point execing check-module-release-parity.sh. Zero references in Makefile, CI, lefthook, docs, or scripts.
SECURITY.md claimed an unregistered --allow-project-mcp flag and project-overridable model/provider/permissions; 05-configuration.md inverted user/project precedence and listed dead env vars. Both now match LoadSettings/projectSafeSettings and verified Getenv sites. .env.example lists only consumed vars. y0.go header corrected to default-on marketplace.
TokenStore.Load/Save no-op stubs (+3 tests); engine NewBackgroundAgentPool{,WithContext}/FormatResults/BackgroundAgentPool re-exports (zero callers); ZAI/Xiaomi region forwarders collapsed to Needs/SetGatewayRegion/GatewayRegionLabel (callers migrated, tests rewritten to generic funcs).
GrayCodeAI/eagle no longer exists. Code: vendored the 8 used subpackages (graph, agent, policy, types, review, verify, events, harness - 11 files, same package names, provenance headers); rewrote 60 files' import paths (qualifiers unchanged); migrated toEagle*/shrikeToEagle* converters to toContract*; dropped go.mod require + exclude + go.sum entries; removed eagle from compat-test trackedPins (drift fixtures migrated to falcon). Tooling: deleted check-contracts-parity.sh (subject gone) + Makefile target/alias/CI step; removed eagle entry, eagle_version, tracks_eagle and eagle-consumers selector from ecosystem tooling (14 repos; json emitter hardened for empty tracks). Docs: README/AGENTS/developer-path/wiring corrected to internal/contracts (docs_audit_test updated in lockstep); guard messages fixed. Verified: build, vet, affected suites incl. testaudit, full lint 0 issues, all boundary guards; manifest structure proven valid (14) in stub workspace.
falcon/harrier/shrike/swift/kestrel/merlin no longer exist. Manifest trimmed to 8 repos (graycode-cli + eyrie workspace); validate count updated. checkout/setup actions self-skip fixed to graycode-cli; release-parity self-filter fixed; ecosystem-boundaries guard now manifest-driven. Clone docs and README repo lists/links trimmed to what exists. Go module requires kept (proxy-resolved; engine integrations live).
GitHub renamed GrayCodeAI/eyrie to GrayCodeAI/graycode-router; the Go module path (github.com/GrayCodeAI/eyrie), EYRIE_* env contract (read by the engine itself) and Go imports are unchanged and stay. Manifest directory/github_repo retargeted (module+facade intact); clone URLs, sibling paths and README links retargeted; release-parity now resolves modules via the manifest instead of assuming dir==module. Verified: manifest validate (stub harness), release parity OK, boundary guard, build.
checkout-eyrie/setup-deps probe before cloning (missing repos warn+skip instead of killing the job); manifest validate skips filesystem checks for absent checkouts (fields/dupes/count stay strict); generate-workspace fixes latent graycode-cli self-skip/init-dir bugs and skips missing dirs. Single-repo CI is an expected mode, not a failure.
GOPRIVATE forced direct-git resolution, which fails for removed repos and bypasses the warm proxy cache (all 5 pinned ghost modules verified proxy-resolvable). Default GOPROXY (proxy first, direct fallback) is strictly more capable. Removed from ci.yml, Dockerfile, Dockerfile.daemon.
Premise disproven: clean-cache probes show proxy.golang.org 404s the eagle/harrier/kestrel/merlin/shrike pins (original fetches were direct-VCS under GOPRIVATE, so the proxy never cached them). Only eyrie resolves via proxy. GOPRIVATE removal changed nothing functionally; reverting to keep the diff truthful. Dead-repo resolution remains an owner-side ecosystem action.
# Conflicts:
#	.github/actions/setup-deps/action.yml
harrier/kestrel/merlin/shrike/swift repos are gone and the public proxy never cached their pins, so no CI job could resolve them. third_party/modproxy carries the exact pinned .info/.mod/.zip sets (6.5MB, go.sum-verified); ci.yml, release.yml and both Dockerfiles resolve file-proxy-first with public-proxy/direct fallback unchanged. Verified: 5/5 pins resolve sterile, full build green from clean cache, go mod verify clean.
Two-step mechanical rename (GrayCodeAI/hawk->graycode-cli, then hawk->graycode) left fixtures asserting bare 'graycode' where reality is 'graycode-cli': git-remote parse fixtures and repo-root fingerprint name. Same assertions, corrected constants.
@Patel230
Patel230 merged commit 886c376 into main Sep 4, 2026
26 checks passed
@Patel230
Patel230 deleted the feat/rename-hawk-to-graycode branch September 4, 2026 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant